package com.demo.core.dao;

import java.util.List;
import java.util.Map;

import com.demo.core.dao.base.BaseCoreDao;
import com.demo.core.dao.base.support.SearchDaoSupport;
import com.demo.core.model.Config;

/**
 * 配置数据访问层接口
 * 
 * @author ryuu.kk
 */
public interface ConfigDao extends BaseCoreDao<Config, Long>, SearchDaoSupport<Config> {
	/**
	 * 更新配置状态信息
	 * @param config 更新的模型对象
	 * @param configStatus 角色状态信息
	 * @return 成功操作数 
	 */
	int updateStatus(Config config, Map<String, Object> configStatus);
	
	/**
	 * 通过主键ID查询配置信息(包含配置子项列表)
	 * 
	 * @param id 配置信息ID
	 * @return 配置模型
	 */
	Config query(Long id);
	
	/**
	 * 通过复杂参数Map对配置信息进行查询(包含配置子项列表)
	 * @param params 参数Map
	 * @return 配置模型列表
	 */
	List<Config> query(Map<String, Object> params);
}
